
#ifndef STRING_H_
#define STRING_H_

#include "types.h"
#include <stddef.h> // for size_t

#define CONFIG_MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE

#ifndef CONFIG_MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE
typedef uintptr_t  mem_word_t;
#endif

int   memcmp(const void* p1, const void* p2, size_t n);
void *memcpy(void* dst0, const void* src0, size_t length);
void *memset(void* dest, int c, size_t n);


size_t strlen(const char* str);
char *strcpy(char *dst, const char *src);
char *strncpy(char *d, const char *s, size_t n);
int strcmp(const char* str1, const char* str2);

#endif /* STRING_H_ */
